package com.ptu.spzx.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.ptu.spzx.domain.Delete.DeleteIds;
import com.ptu.spzx.domain.Exam.Exampaper;
import com.ptu.spzx.domain.Exam.dto.AutoAddExamPaper;
import com.ptu.spzx.domain.Exam.dto.ExamPaperDTO;
import com.ptu.spzx.domain.Exam.vo.ExamPaperVo;
import com.ptu.spzx.domain.Stu.Vo.StuAnswerVo;

import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author YT
 * @since 2024-01-28
 */
public interface IExampaperService extends IService<Exampaper> {

    void addExampaper(ExamPaperDTO exampaperDTO);

    Exampaper selectExamPaper(Long epId);

    void deleteExamPaper(DeleteIds deleteIds);

    void updateExamPaper(ExamPaperDTO examPaperDTO);

    PageInfo<Exampaper> getExamPaperByCreator(Integer courseId,String creator,Integer pageNum,Integer pageSize);

    ExamPaperVo getExampaperWithAnswer(Long examId, String stuId);

    StuAnswerVo getStuAnswer(Long examId);

    PageInfo<Exampaper> getExamPaperByExamId(List<Long> examIds, Integer pageNum, Integer pageSize);


    PageInfo<Exampaper> getExamPaperByCourseId(List<Long> courseIds, Integer pageNum, Integer pageSize);

    void autoAddExamPaper(AutoAddExamPaper autoAddExamPaper);
}
